FLASHFILE ?= $(HEXFILE)
MSPDEBUG_PROGRAMMER ?= olimex
MSPDEBUG ?= $(RIOTTOOLS)/mspdebug/mspdebug
FLASHER ?= $(MSPDEBUG)
FLASHDEPS += $(MSPDEBUG)

DEBUGSERVER_PORT ?= 2000
DEBUGGER := $(RIOTTOOLS)/mspdebug/debug.sh
MSPDEBUG_PROTOCOL ?= JTAG
MSPDEBUG_TTY ?=

DEBUG_TARGET := $(call uppercase_and_underscore,$(CPU_MODEL))

ifeq (JTAG,$(strip $(MSPDEBUG_PROTOCOL)))
  FFLAGS += -j
endif
ifneq (,$(strip $(MSPDEBUG_TTY)))
  FFLAGS += -d "$(MSPDEBUG_TTY)"
endif
ifneq (,$(strip $(DEBUG_ADAPTER_ID)))
  FFLAGS += -s "$(DEBUG_ADAPTER_ID)"
endif
FFLAGS += --expect-id "$(DEBUG_TARGET)"
FFLAGS += $(MSPDEBUG_PROGRAMMER) "prog $(FLASHFILE)"

DEBUGGER_FLAGS = $(MSPDEBUG) $(MSPDEBUG_PROGRAMMER) $(MSPDEBUG_PROTOCOL) "$(MSPDEBUG_TTY)" "$(DEBUG_ADAPTER_ID)" "$(DEBUG_TARGET)" $(DEBUGSERVER_PORT) $(ELFFILE) $(PREFIX) $(RIOTBASE)
DEBUGSERVER := $(RIOTTOOLS)/mspdebug/debug_srv.sh
DEBUGSERVER_FLAGS = $(MSPDEBUG) $(MSPDEBUG_PROGRAMMER) $(MSPDEBUG_PROTOCOL) "$(MSPDEBUG_TTY)" "$(DEBUG_ADAPTER_ID)" "$(DEBUG_TARGET)" $(DEBUGSERVER_PORT)

# setup reset tool
RESET ?= $(MSPDEBUG)
RESET_FLAGS ?= -j $(MSPDEBUG_PROGRAMMER) reset
